package com.umpay.service.consum;

import java.util.List;

import com.umpay.entity.Trans;
import com.umpay.entity.consum.ConsumOrder;
import com.umpay.entity.consum.ConsumOrderSub;

/* ******************  类说明  *********************
 * class       :  ConsumeService
 * @author     :  ncc
 * @date       :  2018年3月19日 下午9:03:43
 * @version    :  1.0  
 * description :  消费下单Service
 * @see        :                        
 * ************************************************/   
public interface ConsumeService {
	
	/* ********************************************
	 * method name   : findConsumeOrderOnline 
	 * description   : 
	 * @return       : ConsumOrder
	 * @param        : @param consumOrder
	 * @param        : @return
	 * modified      : ncc ,  2018年3月19日 下午9:06:43
	 * @see          : 
	 * ********************************************/      
	public ConsumOrder findConsumeOrderOnline(ConsumOrder consumOrder);
	
	/* ********************************************
	 * method name   : insert 
	 * description   : 
	 * @return       : void
	 * @param        : @param consumOrder
	 * @param        : @param list
	 * modified      : ncc ,  2018年3月19日 下午9:06:46
	 * @see          : 
	 * ********************************************/      
	public void insert(ConsumOrder consumOrder, List<ConsumOrderSub> list);
	
	/**
	 * @Title: insertConsumeOrderAndTrans  
	 * @Description: 插入订单主表和子表，以及交易表  
	 * @param @param consumOrder
	 * @param @param list
	 * @param @param trans
	 * @param @throws BusinessException    参数  
	 * @return void    返回类型  
	 * @throws
	 */
	public void insertConsumeOrderAndTrans(ConsumOrder consumOrder, List<ConsumOrderSub> list,Trans trans);

	
	
	
	public int update(ConsumOrder order);

	/**
	 * description : 更新消费交易信息
	 * @author zhangru
	 * @date 2018年5月22日 上午10:16:22
	 * @version 1.0
	 * @return 
	**/
	public int updateConsumeTrans(Trans trans);

	/**
	 * @Title: findConsumeOrderOnline  
	 * @Description: TODO(这里用一句话描述这个方法的作用)  
	 * @param @param consumOrder
	 * @param @return    参数  
	 * @return List<ConsumOrder>    返回类型  
	 * @throws
	 */
	public List<ConsumOrder> findList(ConsumOrder consumOrder);
	
	public abstract ConsumOrder findConsumeOrderOnlineByTradeNo(ConsumOrder order);
}
